The present invention relates to methods and apparatus for forwarding a print job over a communications network. In particular, the present invention enables a user to obtain print jobs at a location which may be unspecified, and which may be remote from the source of the print job. A print driver is provided which is capable of forwarding one or more print jobs over a network. The print driver may be interfaced with any suitable print job source (e.g., a client device capable of generating a printable document, such as a computer) to obtain a print job. The print job is forwarded from the print driver, over the network, to a spooling server. A printer polling device, which may be used at a location remote from the client device, is capable of polling a spooling server via the network to identify whether any print jobs associated with the printer polling device are available for printing at one or more printers associated with the printer polling device.
As computer networks become more complex, the rate at which network configurations change continues to increase. Also, the increasingly frantic pace of the typical business traveler who juggles documents on multiple computers and is required to configure a traveling laptop computer to integrate into various changing networks makes it increasingly difficult to reliably and efficiently print even a simple document.
For example, a business traveler in a hotel may wish to print to a printer that the hotel provides for such purposes. Under the current state of the art, the user must first obtain the network ID of the printer along with some information about the type of printer. Then, a print driver for that specific printer must be installed on the user's computer, and the computer must be configured to connect to the printer. This may additionally involve configuring the computer to connect to the host network.
Further, in many cases, it is desirable to be able to prepare a document for printing prior to having the information concerning the destination printer. For example, it may be desirable to print a document from a mobile laptop connected via a wireless data connection while in transit to a meeting at a site the user has never visited before. Obtaining the information and configuring the laptop to be able to print to the printer becomes logistically infeasible.
These problems have typically been solved in the past by one of the following methods:                1. The document is e-mailed or otherwise transferred over a network to a computer already configured to print to the desired printer;        2. A portable computer is connected directly to the printer via a cable or infra-red, bypassing many of the difficulties of configuring the computer to print to a network computer;        3. A portable printer is transported to the desired location; or        
4. The document is faxed to a fax machine.
Printing methods relating to network and distributed printing are known in the prior art. Such systems require either a private network or foreknowledge of the destination of a print job. These prior art methods comprise what is typically referred to as “push” technology (i.e. technology in which a print job is directed to a specific known destination or printer).
In addition to the need for efficiency and ease of use is the need for security when sending, storing, or printing print jobs. Early in the life of the Internet, the need for securing an organization's local network from tampering, stealing, or vandalism by outsiders became very obvious. A type of gateway called a firewall was developed to meet this need. The firewall is designed to be a single, well-controlled access point between the outside, global, or wide-area network and the inside, local-area network. By carefully restricting the types of network traffic and the destinations where that traffic can flow, the firewall can provide effective protection.
Specific “holes” in the firewall are created for each type of traffic that is allowed through the gateway in each direction. Most organizations, for example, allow e-mail traffic in and out from their e-mail server, as well as web page client access from inside the firewall to servers located outside of it.
Many types of access between machines commonly used on a local network are normally prevented from going through the firewall. Specifically, file sharing, remote log-in, printing, and various other network-administration types of protocols are typically not allowed to be transported outside the firewall.
Another aspect of the firewall is that it is almost always administratively controlled by a centralized authority for the organization that owns the local area network—commonly the management information services (MIS) department of a company. Normal users generally have to make special requests that are approved at the upper levels of management to get configuration changes in the firewall. In the interest of maintaining security, these changes are often limited to specific point-to-point exceptions or “holes” in the firewall.
It is desirable by many users to be able to print from a machine on one local area network to a printer located on a different local area network with the data being transferred over a global network (e.g., the Internet) outside of the firewall of both local networks.
The current state of the art does have solutions for this problem. However, almost all of these solutions require the intervention of the firewall administrator. One example of a solution is the IPP—Internet Printing Protocol standard being promulgated by various vendors. This standard allows IPP-equipped printers to receive print jobs from remote clients over the Internet. However, the installation and use of IPP requires that a specific IPP hole be opened in the firewall by the network administrator.
It would be advantageous to be able to provide methods and apparatus that allow a user to print to a perhaps yet unknown destination printer or printer pool in a reliable, efficient and secure manner without the disadvantages of the above-mentioned techniques.
It would be further advantageous to provide a printing system based on “pull” technology (i.e. technology which enables a print job to be printed upon request, where the print file is only delivered in response to said request). Such technology would enable a system that allows a user to print to a destination printer or printer pool that may be located anywhere, in a reliable, efficient, and secure manner without the disadvantages of the above-mentioned techniques.
It would be further advantageous to have a solution that allows secure, efficient and easy-to-configure inter-network printing through a gateway firewall without the intervention of the network administrator.
The methods and apparatus of the present invention provide the foregoing and other advantages.